//创建用户相关的小仓库
import { defineStore } from 'pinia'

import type { UserState } from './types/type'
import { SET_TOKEN, GET_TOKEN, REMOVE_TOKEN } from '@/utils/token'

//引入接口
import { reqLogin } from '@/api/user'

//引入数据类型
import type { loginForm } from '@/api/user/type'


//创建用户小仓库
let useUserStore = defineStore('User', {
  //小仓库存储数据地方
  state: (): UserState => {
    // :UserState 表示state函数返回的数据类型是UserState
    return {
      token: GET_TOKEN(), //用户唯一标识token
    }
  },
  //处理异步 | 逻辑地方
  actions: {
    //用户登录的方法
     userLogin(data:loginForm) {
      console.log(data)
      //登录请求
     reqLogin(data).then(res =>{
       console.log(res);
     });
    },
  },
  // 计算属性
  getters: {},
})
//对外暴露小仓库
export default useUserStore;
